//
// Created by zx208 on 2024/10/30.
//

#include "../../define.h"
#include <stdio.h>
#include <stdlib.h>

#ifndef _LINKEDQUEUE_H
#define _LINKEDQUEUE_H

typedef int ElemType;

typedef struct QueueNode{
    ElemType data;
    struct QueueNode *next;
} QueueNode;

typedef struct LinkedQueue{
    QueueNode *front; // front相当于链表的头指针
    QueueNode *rear; // rear指向整个链表的最后一个节点
} LinkedQueue;

Status InitQueue(LinkedQueue *Q);
Status Entry_LQ(LinkedQueue *Q, ElemType e);
Status Out_LQ(LinkedQueue *Q, ElemType *e);
Status IsEmpty(LinkedQueue *Q);
void Destroy_LQ(LinkedQueue *Q);

#endif //_LINKEDQUEUE_H
